Apache Commons IO লাইব্রেরি InputStream এবং OutputStream এর মতো স্ট্রিম ব্যবস্থাপনা সম্পর্কিত কাজগুলো সহজ ও কার্যকরীভাবে করতে সহায়তা করে। স্ট্রিম ব্যবস্থাপনা সাধারণত ফাইল অথবা নেটওয়ার্ক ডেটা রিড এবং রাইট করার সময় খুবই গুরুত্বপূর্ণ, এবং Apache Commons IO ক্লাসগুলো ফাইল এবং স্ট্রিম ম্যানিপুলেশনের এই প্রক্রিয়াকে আরও স্বাচ্ছন্দ্যময় করে তোলে।
Apache Commons IO লাইব্রেরি IOUtils এবং InputStream/ OutputStream সম্পর্কিত বিভিন্ন কার্যকরী ইউটিলিটি ক্লাস সরবরাহ করে, যা স্ট্রিম রিড/রাইট অপারেশন এবং ক্লোজিং অপারেশনগুলো সহজ এবং নিরাপদভাবে সম্পাদন করতে সহায়তা করে।
IOUtils ক্লাসটি InputStream এবং OutputStream সহ অন্যান্য স্ট্রিম ক্লাসের জন্য বিভিন্ন ইউটিলিটি মেথড সরবরাহ করে। এর মাধ্যমে স্ট্রিম কপি, ক্লোজ, এবং স্ট্রিম অপারেশনগুলো খুবই সহজ হয়ে যায়। নিচে InputStream এবং OutputStream এর জন্য কিছু সাধারণ ফাংশন এবং তাদের ব্যবহার দেখানো হলো।
একটি InputStream থেকে ডেটা রিড করে OutputStream-এ কপি করার জন্য IOUtils.copy() মেথডটি ব্যবহার করা হয়।
উদাহরণ: InputStream থেকে OutputStream-এ ডেটা কপি করা
import org.apache.commons.io.IOUtils;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
public class StreamCopyExample {
public static void main(String[] args) {
try (FileInputStream input = new FileInputStream("source.txt");
FileOutputStream output = new FileOutputStream("destination.txt")) {
// Copy content from input stream to output stream
IOUtils.copy(input, output);
System.out.println("Data copied successfully!");
} catch (IOException e) {
e.printStackTrace();
}
}
}
এখানে:
IOUtils.copy(input, output)
মেথডটি source.txt ফাইল থেকে destination.txt ফাইলে ডেটা কপি করেছে।IOUtils এর toString()
মেথড ব্যবহার করে একটি InputStream থেকে ডেটা রিড করে সেটিকে স্ট্রিং আকারে পাওয়া যায়।
উদাহরণ: InputStream থেকে String রিড করা
import org.apache.commons.io.IOUtils;
import java.io.FileInputStream;
import java.io.IOException;
public class InputStreamToStringExample {
public static void main(String[] args) {
try (FileInputStream input = new FileInputStream("source.txt")) {
// Convert InputStream to String
String content = IOUtils.toString(input, "UTF-8");
System.out.println("File content: " + content);
} catch (IOException e) {
e.printStackTrace();
}
}
}
এখানে:
IOUtils.toString()
মেথডটি InputStream থেকে ডেটা রিড করে সেটিকে String আকারে কনভার্ট করেছে।IOUtils এর write()
মেথড ব্যবহার করে OutputStream-এ স্ট্রিং লেখা যায়।
উদাহরণ: String OutputStream-এ রাইট করা
import org.apache.commons.io.IOUtils;
import java.io.FileOutputStream;
import java.io.IOException;
public class StringToOutputStreamExample {
public static void main(String[] args) {
try (FileOutputStream output = new FileOutputStream("output.txt")) {
// Write a string to OutputStream
String data = "This is a test data.";
IOUtils.write(data, output, "UTF-8");
System.out.println("Data written successfully!");
} catch (IOException e) {
e.printStackTrace();
}
}
}
এখানে:
IOUtils.write()
মেথডটি স্ট্রিং data ফাইল output.txt-এ রাইট করেছে।IOUtils এর closeQuietly()
মেথড ব্যবহার করে স্ট্রিম ক্লোজ করা হয়, এবং এটি কোনও এক্সসেপশন ফেলে না যদি স্ট্রিম ইতিমধ্যে ক্লোজ হয়ে থাকে।
উদাহরণ: Stream ক্লোজ করা
import org.apache.commons.io.IOUtils;
import java.io.FileInputStream;
import java.io.IOException;
public class CloseStreamExample {
public static void main(String[] args) {
FileInputStream input = null;
try {
input = new FileInputStream("source.txt");
// Some operations on input stream
} catch (IOException e) {
e.printStackTrace();
} finally {
// Safely close the InputStream
IOUtils.closeQuietly(input);
System.out.println("Stream closed.");
}
}
}
এখানে:
IOUtils.closeQuietly()
মেথডটি input stream নিরাপদভাবে ক্লোজ করেছে।IOUtils.closeQuietly()
ব্যবহার করুন। এটি আপনাকে সঠিকভাবে স্ট্রিম বন্ধ করতে সাহায্য করে এবং কোনও এক্সসেপশন ফেলে না।Apache Commons IO লাইব্রেরির IOUtils ক্লাস InputStream এবং OutputStream এর ব্যবস্থাপনা অনেক সহজ করে তোলে। এতে স্ট্রিম কপি, ক্লোজিং, রিডিং এবং রাইটিং সম্পর্কিত বিভিন্ন ফাংশন সরবরাহ করা হয়, যা ফাইল এবং স্ট্রিম ম্যানিপুলেশন কাজগুলোকে আরো সহজ এবং দ্রুত করে তোলে। এই লাইব্রেরি ফাইল প্রক্রিয়াকরণের সময় স্ট্রিমের সঠিক ব্যবস্থাপনা এবং নিরাপদ ক্লোজিং নিশ্চিত করতে সাহায্য করে, যা আপনার অ্যাপ্লিকেশনের কার্যকারিতা এবং স্থিতিশীলতা বৃদ্ধি করে।
common.read_more